ε Curso de POV. Avanzando poco a poco En el anterior número vimos el aspecto y algunos ejemplos del lenguaje escénico usado por el POV. En este nuevo número vamos a ver algunos ejemplos cedidos por Osucaru (grafista de PhyMosys) consistentes en un simple heigth field (elevamiento de campo) y una espada muy bien "programada". El heigth field es una espécie de instrucción que permite crear objetos a partir de la elevación de ficheros gráficos. Seria algo así como si pillamos un gráfico cualquiera y los puntos con un número de color más alto, los hacemos elevar más que los puntos con uno más bajo... no sé si me explico, pero lo mejor es que lo pruebes. En el fichero 'δPHYMOSYS.POVπ' tienes el prototipo básico para crear heigth fields, concretamente lo que hay necesario es ese fichero son las líneas: Γheight_field { Γ tga "prueva_k.tga" Γ water_level 0.0 Γ smooth Γ pigment { Γ image_map { tga "prueva_k1.tga" } Γ rotate 90*x Γ } Γ } En esas líneas se hace referencia a los ficheros "δPRUEVA_K.TGAπ" y "δPRUEVA_K1.TGAπ" que no estan incluidos y que puedes ir cambiando con algunos de los que tengas por tu disco duro para ver lo que se consigue con ello y así adquirir experiencia en estos temas. [Por cierto, las cabeceras de estos ficheros son todas muy similares ya que han sido "povgramadas" en un editor que simplifica algunos pasos, si lo quieres hazselo saber a Osucaru]. Otro ejemplo de heigth field más simplificado lo tienes en el fichero "δOSUCARU.POVπ" donde se ha declarado el height field como un objeto: Γ#declare letrero=height_field Γ{ Γ tga "pueva_kk.tga" Γ water_level 0.0 Γ} El fichero realmente interesante lo constituye la espada ya que muestra lo que se debe hacer a la hora de programar en cualquier lenguaje y, como no, tambien en el POV: se definen todos los posibles parámetros en forma de constantes, que si queremos reutilizar, sólo tendriamos que cambiar de valor. Por ejemplo se define una espada con una longitud, un ancho y una grosor así: Γ#declare Largo=12 // define la longitud del mango, Γ#declare ancho=0.7 // el grosor y la robustez.. Hay más variables de este tipo y ya os digo, así deberia programarse siempre en POV porque imaginad que ahora estais haciendo un proyecto nuevo basado en la leyenda del rey Arturo y necesitais hacer que una espada clavada en una roca aparezca en la escena, ¿no seria más sencillo cambiar unas constantes que tener que ir cambiando mil puntos por dentro del código? Otro detalle muy bueno a la hora de programar con POV es ir declarando las distintas partes de un objeto por separado y juntarlas despues como uno sólo. Esto se hace para definir la espada entera y es muy recomendable repasar ese código y preguntar si teneis alguna duda de lo que se hace. ∞Navi & Osucaru / PhyMosys